home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / ppepakts.zip / PPEMENU.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-04-18  |  6KB  |  242 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  TINTEGER004(30)
  23.     Integer  INTEGER005
  24.     String   STRING001
  25.     String   TSTRING002(20)
  26.     String   TSTRING003(20)
  27.     String   TSTRING004(20)
  28.     String   STRING005
  29.     String   TSTRING006(20)
  30.     String   STRING007
  31.     String   STRING008
  32.  
  33. ;------------------------------------------------------------------------------
  34.  
  35.     :LABEL001
  36.     STRING007 = GetToken()
  37.     Gosub LABEL004
  38.     If (INTEGER001 <> 930612) Then
  39.         Gosub LABEL005
  40.     Endif
  41.     If (STRING007 <> "") Then
  42.         STRING008 = "YES"
  43.         STRING005 = STRING007
  44.     Else
  45.         Gosub LABEL006
  46.         :LABEL002
  47.         STRING005 = ""
  48.         AnsiPos 1, 21
  49.         InputText "Choose either by number or name - Q to quit", STRING005, 14, 8
  50.         AnsiPos 47, 21
  51.         Print Space(8)
  52.         AnsiPos 1, 20
  53.         Print Space(80)
  54.         If (Upper(STRING005) == "Q") Goto LABEL007
  55.         If (Upper(STRING005) == "") Goto LABEL002
  56.     Endif
  57.     For INTEGER002 = 1 To 20
  58.         If (Upper(STRING005) == Upper(Trim(TSTRING003(INTEGER002), " "))) Then
  59.             INTEGER005 = INTEGER002
  60.             Goto LABEL003
  61.         Endif
  62.     Next
  63.     INTEGER005 = STRING005
  64.     If (STRING008 == "YES") Then
  65.         PrintLn "File ", STRING007, " not found"
  66.         End
  67.     Endif
  68.     If ((STRING005 > INTEGER003) || (STRING005 < 1)) Goto LABEL002
  69.     :LABEL003
  70.     If (CurSec() < TINTEGER004(INTEGER005)) Then
  71.         AnsiPos 1, 20
  72.         Print "@X0CYour current security level does not permit access to that option."
  73.         Goto LABEL002
  74.     Endif
  75.     If (FileInf(TSTRING004(INTEGER005), 1) <> 1) Then
  76.         If (STRING008 == "YES") Then
  77.             PrintLn "@X0CError loading PPE - ", TSTRING004(INTEGER005)
  78.             End
  79.         Endif
  80.         AnsiPos 1, 20
  81.         Print "@X0CError loading PPE - ", TSTRING004(INTEGER005)
  82.         Goto LABEL002
  83.     Endif
  84.     Call TSTRING004(INTEGER005)
  85.     If (STRING008 == "YES") Then
  86.         End
  87.     Else
  88.         Goto LABEL001
  89.     Endif
  90.     :LABEL004
  91.     GetUser
  92.     If (FileInf(PPEPath() + "ppemenu.cnf", 1) <> 1) Then
  93.         FCreate 0, PPEPath() + "ppemenu.cnf", 2, 0
  94.         FPutLn 0, "bbsname goes here"
  95.         FPutLn 0, "000000"
  96.         FPutLn 0, "---------1---------2---------3---------4---------5"
  97.         FPutLn 0, "name1    file description      005 C:\PCB\PPE\XXX.PPE"
  98.         FPutLn 0, "name2    file description      005 C:\PCB\PPE\XXX.PPE"
  99.         FPutLn 0, "and so   on up to 20 names     005 C:\PCB\PPE\XXX.PPE"
  100.         FPutLn 0, "Sec      level must be > 0     005 C:\PCB\PPE\XXX.PPE"
  101.         FClose 0
  102.         STRING001 = ReadLine(PPEPath() + "ppemenu.cnf", 1)
  103.         INTEGER001 = ReadLine(PPEPath() + "ppemenu.cnf", 2)
  104.         For INTEGER002 = 1 To 20
  105.             TSTRING002(INTEGER002) = ReadLine(PPEPath() + "ppemenu.cnf", INTEGER002 + 3)
  106.             TSTRING003(INTEGER002) = Mid(TSTRING002(INTEGER002), 1, 8)
  107.             TSTRING006(INTEGER002) = Mid(TSTRING002(INTEGER002), 10, 21)
  108.             TINTEGER004(INTEGER002) = Mid(TSTRING002(INTEGER002), 32, 3)
  109.             TSTRING004(INTEGER002) = Mid(TSTRING002(INTEGER002), 36, 20)
  110.         Next
  111.         Gosub LABEL006
  112.         AnsiPos 1, 20
  113.         PrintLn "Please review your doc and edit ppemenu.cnf before continuing on"
  114.         Goto LABEL007
  115.     Else
  116.         STRING001 = ReadLine(PPEPath() + "ppemenu.cnf", 1)
  117.         INTEGER001 = ReadLine(PPEPath() + "ppemenu.cnf", 2)
  118.         For INTEGER002 = 1 To 20
  119.             TSTRING002(INTEGER002) = ReadLine(PPEPath() + "ppemenu.cnf", INTEGER002 + 3)
  120.             TSTRING003(INTEGER002) = Mid(TSTRING002(INTEGER002), 1, 8)
  121.             TSTRING006(INTEGER002) = Mid(TSTRING002(INTEGER002), 10, 21)
  122.             TINTEGER004(INTEGER002) = Mid(TSTRING002(INTEGER002), 32, 3)
  123.             TSTRING004(INTEGER002) = Mid(TSTRING002(INTEGER002), 36, 20)
  124.             If (TINTEGER004(INTEGER002) > 0) Then
  125.                 INTEGER003 = INTEGER002
  126.             Endif
  127.         Next
  128.     Endif
  129.     Return
  130.     :LABEL005
  131.     Cls
  132.     PrintLn 
  133.     PrintLn "@X01            @X71┌────────────────────────────────────────────────────┐@X00"
  134.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  135.     PrintLn "@X01            @X78│ @X74             UNREGISTERED version                  @X71│@X00"
  136.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  137.     PrintLn "@X01            @X78│ @X74             PPEMENU v(1.0)                        @X71│@X00"
  138.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  139.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  140.     PrintLn "@X01            @X78│ @X74  You can register me for $10 - refer to           @X71│@X00"
  141.     PrintLn "@X01            @X78│ @X74  the documentation supplied with the program.     @X71│@X00"
  142.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  143.     PrintLn "@X01            @X78└────────────────────────────────────────────────────@X71┘@X00"
  144.     PrintLn "@X01"
  145.     PrintLn "@X0ACopyright (c) 1993 Tin Shack Software"
  146.     AnsiPos 1, 18
  147.     PrintLn "Please wait...."
  148.     Delay 180
  149.     Return
  150.     :LABEL006
  151.     Cls
  152.     PrintLn "@X01  @X8C┌─────────────────────────────────────────────────────────────────────────┐"
  153.     PrintLn "@X01  @X8C│@X03            ▒▒▒▒▒   ▒▒▒▒    ▒▒▒▒▒   ▒▒▒▒▒   ▒▒▒▒    ▒▒▒▒▒      @X8C          │"
  154.     PrintLn "@X01  @X8C│@X03            ▒ @X0B█████ @X03▒ @X0B████  @X03▒ @X0B█████ @X03▒ @X0B█████ @X03▒ @X0B████  ▒ @X0B█████    @X8C          │"
  155.     PrintLn "@X01  @X8C│@X03            ▒▒@X0B█@X03▒▒ @X0B█ @X03▒▒@X0B█@X03▒  @X0B█ @X03▒ @X0B█     @X03▒▒@X0B█@X03▒▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒▒@X0B█@X03▒▒      @X8C          │"
  156.     PrintLn "@X01  @X8C│@X03            ▒ @X0B█████ @X03▒ @X0B████  @X03▒ @X0B█     @X03▒ @X0B█████ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█████    @X8C          │"
  157.     PrintLn "@X01  @X8C│@X03            ▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒▒@X0B█@X03▒▒   ▒ @X0B█ @X03▒ @X0B█ @X03▒▒@X0B█@X03▒  @X0B█ @X03▒▒@X0B█@X03▒▒      @X8C          │"
  158.     PrintLn "@X01  @X8C│@X0B              █   █   █   █   █████   █   █   ████    █████    @X8C          │"
  159.     PrintLn "@X01  @X8C└─────────────────────────────────────────────────────────────────────────┘"
  160.     PrintLn "@X0E  ************ Check out these games on the ", STRING001, ". ***********"
  161.     For INTEGER002 = 1 To 10
  162.         AnsiPos 5, INTEGER002 + 9
  163.         Print "@X0D", Right(INTEGER002, 2), " - ", Left(TSTRING003(INTEGER002), 8), "@X0E ", Left(TSTRING006(INTEGER002), 21)
  164.         AnsiPos 41, INTEGER002 + 9
  165.         Print "@X0D ", Right(INTEGER002 + 10, 2), " - ", Left(TSTRING003(INTEGER002 + 10), 8), "@X0E ", Left(TSTRING006(INTEGER002 + 10), 21)
  166.     Next
  167.     Return
  168.     :LABEL007
  169.     AnsiPos 1, 21
  170.     End
  171.  
  172. ;------------------------------------------------------------------------------
  173. ;
  174. ; Usage report (before postprocessing)
  175. ;
  176. ; ■ Statements used :
  177. ;
  178. ;    4       End
  179. ;    2       Cls
  180. ;    29      Goto 
  181. ;    29      Let 
  182. ;    6       Print 
  183. ;    27      PrintLn 
  184. ;    17      If 
  185. ;    1       FCreate 
  186. ;    1       FClose 
  187. ;    7       FPutLn 
  188. ;    1       GetUser
  189. ;    4       Gosub 
  190. ;    3       Return
  191. ;    1       Delay 
  192. ;    1       InputText 
  193. ;    1       Call 
  194. ;    10      AnsiPos 
  195. ;
  196. ;
  197. ; ■ Functions used :
  198. ;
  199. ;    19      +
  200. ;    6       ==
  201. ;    4       <>
  202. ;    6       <
  203. ;    4       <=
  204. ;    2       >
  205. ;    8       >=
  206. ;    14      !
  207. ;    8       &&
  208. ;    5       ||
  209. ;    4       Upper()
  210. ;    8       Mid()
  211. ;    4       Left()
  212. ;    2       Right()
  213. ;    2       Space()
  214. ;    1       Trim()
  215. ;    8       PPEPath()
  216. ;    6       ReadLine()
  217. ;    1       CurSec()
  218. ;    1       GetToken()
  219. ;    2       FileInf()
  220. ;
  221. ;------------------------------------------------------------------------------
  222. ;
  223. ; Analysis flags : C
  224. ;
  225. ; C - Call child PPE ■ 3
  226. ;     This is usually normal, but may be a tricky way to launch some
  227. ;     sysop-only commands.
  228. ;     ■ Search for : CALL
  229. ;
  230. ;------------------------------------------------------------------------------
  231. ;
  232. ; Postprocessing report
  233. ;
  234. ;    4       For/Next
  235. ;    0       While/EndWhile
  236. ;    10      If/Then or If/Then/Else
  237. ;    0       Select Case
  238. ;
  239. ;------------------------------------------------------------------------------
  240. ;                 AEGiS Corp - Break the routines, code against the machines!
  241. ;------------------------------------------------------------------------------
  242.